1
Параллельный поворот: преобразование последовательной логики в потоки GPU
AI024Lesson 4
00:00

Это Параллельный поворот представляет собой фундаментальный сдвиг в вычислительной философии от временной последовательности (делать одно, а потом другое) к пространственному распределению (выполнять всё одновременно по сетке).

1. Эвристика независимости

Это золотое правило вычислений на GPU: «Когда ваша задача — «применить что-либо независимо к N элементам» — это первый способ, который следует попробовать». Этот подход к параллельной обработке данных — самый простой путь ускорения на GPU, где накладные расходы на управление потоками ничтожно малы по сравнению с огромным объёмом одновременной пропускной способности.

2. Точность и данные

Ядра HIP обычно обрабатывают массивы примитивных типов. В высокопроизводительной графике и машинном обучении мы часто используем float (одинарная точность), тогда как научные модели, требующие экстремальной числовой стабильности, используют double (двойная точность).

CPU: ВременнаяОСНОВНОЙ ПОВОРОТGPU: Пространственная

3. От итерации к занятости

В коде для процессора процессор «посещает» данные через циклы. В логике GPU данные «занимают» поток. Вы перестаёте писать как делать цикл и начинаете писать что должен сделать один рабочий в конкретной координате.

$$\text{Индекс } i = \text{blockIdx.x} \times \text{blockDim.x} + \text{threadIdx.x}$$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>